####################################################################
#
#    This file was generated using Parse::Yapp version 1.05.
#
#        Don't edit this file, use source file instead.
#
#             ANY CHANGE MADE HERE WILL BE LOST !
#
####################################################################
package Amaze;
use vars qw ( @ISA );
use strict;

@ISA= qw ( Parse::Yapp::Driver );
use Parse::Yapp::Driver;



sub new {
        my($class)=shift;
        ref($class)
    and $class=ref($class);

    my($self)=$class->SUPER::new( yyversion => '1.05',
                                  yystates =>
[
	{#State 0
		ACTIONS => {
			"-" => 1,
			";" => 4,
			"+" => 3,
			"{" => 5,
			'IDENTITY' => 7,
			"(" => 9,
			"a" => 10
		},
		DEFAULT => -2,
		GOTOS => {
			'Program' => 8,
			'Expression' => 2,
			'AssignmentExpression' => 11,
			'StatementBlock' => 12,
			'SourceElement' => 6,
			'Object' => 14,
			'SourceElements' => 13,
			'Statement' => 15
		}
	},
	{#State 1
		ACTIONS => {
			"-" => 1,
			"(" => 9,
			"a" => 10,
			"+" => 3,
			'IDENTITY' => 7
		},
		GOTOS => {
			'Expression' => 16,
			'AssignmentExpression' => 11,
			'Object' => 14
		}
	},
	{#State 2
		ACTIONS => {
			"-" => 17,
			"*" => 23,
			";" => 19,
			"+" => 18,
			'TOperator' => 20,
			"/" => 22,
			"," => 21
		}
	},
	{#State 3
		ACTIONS => {
			"-" => 1,
			"(" => 9,
			"a" => 10,
			"+" => 3,
			'IDENTITY' => 7
		},
		GOTOS => {
			'Expression' => 24,
			'AssignmentExpression' => 11,
			'Object' => 14
		}
	},
	{#State 4
		DEFAULT => -8
	},
	{#State 5
		ACTIONS => {
			"-" => 1,
			"(" => 9,
			"a" => 10,
			";" => 4,
			"+" => 3,
			"{" => 5,
			'IDENTITY' => 7
		},
		GOTOS => {
			'Expression' => 2,
			'AssignmentExpression' => 11,
			'StatementBlock' => 25,
			'Object' => 14,
			'Statement' => 15
		}
	},
	{#State 6
		ACTIONS => {
			"-" => 1,
			";" => 4,
			"+" => 3,
			"{" => 5,
			'IDENTITY' => 7,
			"(" => 9,
			"a" => 10
		},
		DEFAULT => -3,
		GOTOS => {
			'Expression' => 2,
			'AssignmentExpression' => 11,
			'StatementBlock' => 12,
			'SourceElement' => 6,
			'SourceElements' => 26,
			'Object' => 14,
			'Statement' => 15
		}
	},
	{#State 7
		ACTIONS => {
			"=" => 27
		}
	},
	{#State 8
		ACTIONS => {
			'' => 28
		}
	},
	{#State 9
		ACTIONS => {
			"-" => 1,
			"(" => 9,
			"a" => 10,
			"+" => 3,
			'IDENTITY' => 7
		},
		GOTOS => {
			'Expression' => 29,
			'AssignmentExpression' => 11,
			'Object' => 14
		}
	},
	{#State 10
		DEFAULT => -22
	},
	{#State 11
		DEFAULT => -11
	},
	{#State 12
		DEFAULT => -5
	},
	{#State 13
		DEFAULT => -1
	},
	{#State 14
		DEFAULT => -10
	},
	{#State 15
		DEFAULT => -6
	},
	{#State 16
		DEFAULT => -17
	},
	{#State 17
		ACTIONS => {
			"-" => 1,
			"(" => 9,
			"a" => 10,
			"+" => 3,
			'IDENTITY' => 7
		},
		GOTOS => {
			'Expression' => 30,
			'AssignmentExpression' => 11,
			'Object' => 14
		}
	},
	{#State 18
		ACTIONS => {
			"-" => 1,
			"(" => 9,
			"a" => 10,
			"+" => 3,
			'IDENTITY' => 7
		},
		GOTOS => {
			'Expression' => 31,
			'AssignmentExpression' => 11,
			'Object' => 14
		}
	},
	{#State 19
		DEFAULT => -9
	},
	{#State 20
		ACTIONS => {
			"-" => 1,
			"(" => 9,
			"a" => 10,
			"+" => 3,
			'IDENTITY' => 7
		},
		GOTOS => {
			'Expression' => 32,
			'AssignmentExpression' => 11,
			'Object' => 14
		}
	},
	{#State 21
		ACTIONS => {
			"-" => 1,
			"(" => 9,
			"a" => 10,
			"+" => 3,
			'IDENTITY' => 7
		},
		GOTOS => {
			'Expression' => 33,
			'AssignmentExpression' => 11,
			'Object' => 14
		}
	},
	{#State 22
		ACTIONS => {
			"-" => 1,
			"(" => 9,
			"a" => 10,
			"+" => 3,
			'IDENTITY' => 7
		},
		GOTOS => {
			'Expression' => 34,
			'AssignmentExpression' => 11,
			'Object' => 14
		}
	},
	{#State 23
		ACTIONS => {
			"-" => 1,
			"(" => 9,
			"a" => 10,
			"+" => 3,
			'IDENTITY' => 7
		},
		GOTOS => {
			'Expression' => 35,
			'AssignmentExpression' => 11,
			'Object' => 14
		}
	},
	{#State 24
		DEFAULT => -18
	},
	{#State 25
		ACTIONS => {
			"-" => 1,
			"(" => 9,
			"a" => 10,
			";" => 4,
			"+" => 3,
			'IDENTITY' => 7
		},
		GOTOS => {
			'Expression' => 2,
			'AssignmentExpression' => 11,
			'Object' => 14,
			'Statement' => 36
		}
	},
	{#State 26
		DEFAULT => -4
	},
	{#State 27
		ACTIONS => {
			"-" => 1,
			"(" => 9,
			"a" => 10,
			"+" => 3,
			'IDENTITY' => 7
		},
		GOTOS => {
			'Expression' => 37,
			'AssignmentExpression' => 11,
			'Object' => 14
		}
	},
	{#State 28
		DEFAULT => 0
	},
	{#State 29
		ACTIONS => {
			"-" => 17,
			"*" => 23,
			"+" => 18,
			'TOperator' => 20,
			"/" => 22,
			"," => 21,
			")" => 38
		}
	},
	{#State 30
		ACTIONS => {
			"/" => 22,
			"*" => 23
		},
		DEFAULT => -14
	},
	{#State 31
		ACTIONS => {
			"/" => 22,
			"*" => 23
		},
		DEFAULT => -13
	},
	{#State 32
		ACTIONS => {
			"-" => 17,
			"+" => 18,
			"/" => 22,
			"," => 21,
			"*" => 23
		},
		DEFAULT => -12
	},
	{#State 33
		ACTIONS => {
			"-" => 17,
			"+" => 18,
			"/" => 22,
			"*" => 23
		},
		DEFAULT => -19
	},
	{#State 34
		DEFAULT => -16
	},
	{#State 35
		DEFAULT => -15
	},
	{#State 36
		ACTIONS => {
			"}" => 39
		}
	},
	{#State 37
		ACTIONS => {
			"-" => 17,
			"+" => 18,
			'TOperator' => 20,
			"/" => 22,
			"," => 21,
			"*" => 23
		},
		DEFAULT => -21
	},
	{#State 38
		DEFAULT => -20
	},
	{#State 39
		DEFAULT => -7
	}
],
                                  yyrules  =>
[
	[#Rule 0
		 '$start', 2, undef
	],
	[#Rule 1
		 'Program', 1, undef
	],
	[#Rule 2
		 'Program', 0, undef
	],
	[#Rule 3
		 'SourceElements', 1, undef
	],
	[#Rule 4
		 'SourceElements', 2, undef
	],
	[#Rule 5
		 'SourceElement', 1, undef
	],
	[#Rule 6
		 'StatementBlock', 1, undef
	],
	[#Rule 7
		 'StatementBlock', 4, undef
	],
	[#Rule 8
		 'Statement', 1, undef
	],
	[#Rule 9
		 'Statement', 2, undef
	],
	[#Rule 10
		 'Expression', 1, undef
	],
	[#Rule 11
		 'Expression', 1, undef
	],
	[#Rule 12
		 'Expression', 3, undef
	],
	[#Rule 13
		 'Expression', 3, undef
	],
	[#Rule 14
		 'Expression', 3, undef
	],
	[#Rule 15
		 'Expression', 3, undef
	],
	[#Rule 16
		 'Expression', 3, undef
	],
	[#Rule 17
		 'Expression', 2, undef
	],
	[#Rule 18
		 'Expression', 2, undef
	],
	[#Rule 19
		 'Expression', 3, undef
	],
	[#Rule 20
		 'Expression', 3, undef
	],
	[#Rule 21
		 'AssignmentExpression', 3,
sub
#line 44 "examples\amaze\Amaze.ypj.yp"
{return _assign($_[1].value, $_[3].value);}
	],
	[#Rule 22
		 'Object', 1, undef
	]
],
                                  @_);
    bless($self,$class);
}

#line 48 "examples\amaze\Amaze.ypj.yp"


1;
